package cn.car.mapper;

import cn.car.domains.entity.SysUserEntity;
import cn.car.domains.bo.QueryUserBo;

import java.util.List;

public interface SysUserMapper {

    /**
     * 插入用户
     * @param user 待插入的用户实体
     * @return 影响的行数（1表示成功，0表示失败）
     */
    int insertUser(SysUserEntity user);

    /**
     * 根据ID查询用户
     * @param id 用户ID
     * @return 对应的用户实体，不存在则返回null
     */
    SysUserEntity selectById(Long id);

    /**
     * 根据用户名查询用户
     * @param username 用户名
     * @return 对应的用户实体，不存在则返回null
     */
    SysUserEntity selectByUsername(String username);

    /**
     * 更新用户信息
     * @param user 包含更新信息的用户实体（必须包含id）
     * @return 影响的行数（1表示成功，0表示未找到对应记录）
     */
    int updateUser(SysUserEntity user);

    /**
     * 根据ID删除用户
     * @param id 用户ID
     * @return 影响的行数（1表示成功，0表示未找到对应记录）
     */
    int deleteById(Long id);

    /**
     * 查询用户列表
     */
    List<SysUserEntity> selectUserList(QueryUserBo queryUserBo);
}
